124 research outputs found
ACL2 Verification of Simplicial Degeneracy Programs in the Kenzo System
Kenzo is a Computer Algebra system devoted to Algebraic
Topology, and written in the Common Lisp programming language. It is
a descendant of a previous system called EAT (for Effective Algebraic
Topology). Kenzo shows a much better performance than EAT due,
among other reasons, to a smart encoding of degeneracy lists as integers.
In this paper, we give a complete automated proof of the correctness of
this encoding used in Kenzo. The proof is carried out using ACL2, a system
for proving properties of programs written in (a subset of) Common
Lisp. The most interesting idea, from a methodological point of view, is
our use of EAT to build a model on which the verification is carried out.
Thus, EAT, which is logically simpler but less efficient than Kenzo, acts
as a mathematical model and then Kenzo is formally verified against it.Ministerio de Educación y Ciencia MTM2006-0651
A verified Common Lisp implementation of Buchberger's algorithm in ACL2
In this article, we present the formal verification of a Common
Lisp implementation of Buchberger's algorithm for computing
Gröbner bases of polynomial ideals. This work is carried out in
ACL2, a system which provides an integrated environment where
programming (in a pure functional subset of Common Lisp) and
formal verification of programs, with the assistance of a theorem
prover, are possible. Our implementation is written in a real
programming language and it is directly executable within the
ACL2 system or any compliant Common Lisp system. We provide
here snippets of real verified code, discuss the formalization details
in depth, and present quantitative data about the proof effort
Verification in ACL2 of a Generic Framework to Synthesize SAT–Provers
We present in this paper an application of the ACL2 system
to reason about propositional satisfiability provers. For that purpose,
we present a framework where we define a generic transformation based
SAT–prover, and we show how this generic framework can be formalized
in the ACL2 logic, making a formal proof of its termination, soundness
and completeness. This generic framework can be instantiated to obtain
a number of verified and executable SAT–provers in ACL2, and this
can be done in an automatized way. Three case studies are considered:
semantic tableaux, sequent and Davis–Putnam methods.Ministerio de Ciencia y TecnologÃa TIC2000-1368-C03-0
Formal Verification of Molecular Computational Models in ACL2: A Case Study
Theorem proving is a classical AI problem with a broad range
of applications. Since its complexity is exponential in the size of the
problem, many methods to parallelize the process has been proposed.
One of these approaches is based on the massive parallelism of molecular
reactions. ACL2 is an automated theorem prover especially adequate for
algorithm verification. In this paper we present an ACL2 formalization
of a molecular computational model: Adleman’s restricted model. As
an application of this model, an implementation of Lipton’s experiment
solving SAT is described. We use ACL2 to make a formal proof of the
completeness and soundness properties of this implementation.Ministerio de Ciencia y TecnologÃa TIC2000-1368-C03-0
Formal verification of a generic framework to synthesize SAT-provers
We present in this paper an application of the ACL2 system to generate
and reason about propositional satis ability provers. For that purpose, we develop a
framework where we de ne a generic SAT-prover based on transformation rules, and
we formalize this generic framework in the ACL2 logic, carrying out a formal proof of
its termination, soundness and completeness. This generic framework can be
instantiated to obtain a number of veri ed and executable SAT-provers in ACL2, and
this can be done in an automated way. Three instantiations of the generic framework
are considered: semantic tableaux, sequent and Davis-Putnam-Logeman-Loveland
methods.Ministerio de Ciencia y TecnologÃa TIC2000-1368-C03-0
Formal Correctness of a Quadratic Unification Algorithm
We present a case study using ACL2 [5] to verify a non-trivial algorithm
that uses efficient data structures. The algorithm receives as input two first-order
terms and it returns a most general unifier of these terms if they are unifiable, failure
otherwise. The verified implementation stores terms as directed acyclic graphs by
means of a pointer structure. Its time complexity is O(n2) and its space complexity
is O(n), and it can be executed in ACL2 at a speed comparable to a similar C
implementation. We report the main issues encountered to achieve this formally
verified implementation
Constructing Formally Verified Reasoners for the ALC Description Logic
Description Logics are a family of logics used to represent and reason about conceptual and terminological
knowledge. Recently, its importance has been increased since they are used as a basis for the Ontology
Web Language (OWL) used for the Semantic Web. In previous work, we have developed in PVS a generic
framework for reasoning in the ALC description logic, proving its termination, soundness and completeness.
In this paper we present the construction, from the generic framework, of a formally verified generic tableau–
based algorithm for checking satisfiability of ALC –concepts. We do it using a methodology of refinements
to transfer the properties from the framework to the algorithm. We also obtain some verified reasoners from
the algorithm by a process of instantiation.Ministerio de Educación y Ciencia TIN2004–0388
Verified Computer Algebra in ACL2 (Gröbner Bases Computation)
In this paper, we present the formal verification of a Common
Lisp implementation of Buchberger’s algorithm for computing
Gröbner bases of polynomial ideals. This work is carried out in the Acl2
system and shows how verified Computer Algebra can be achieved in an
executable logic
Proof Pearl: a Formal Proof of Higman’s Lemma in ACL2
Higman’s lemma is an important result in infinitary combinatorics, which
has been formalized in several theorem provers. In this paper we present a formalization
and proof of Higman’s Lemma in the ACL2 theorem prover. Our formalization
is based on a proof by Murthy and Russell, where the key termination argument
is justified by the multiset relation induced by a well-founded relation. To our
knowledge, this is the first mechanization of this proof.Ministerio de Ciencia e Innovación MTM2009-13842-C02-0
Análisis de la tasa de abandono en un Centro con varios Grados en IngenierÃa Informática
En este trabajo se muestra el análisis realizado del impacto que sobre la tasa de abandono tiene el cambio de estudios entre los tres Grados en IngenierÃa Informática que se imparten en un Centro concreto. Dicho análisis ha sido llevado a cabo por el Equipo de Dirección del Centro a instancia de los informes realizados tras las visitas para la renovación de la acreditación de dichos tÃtulos. Las principales conclusiones a las que hemos llegado son: i) el cambio de estudios entre Grados en Informática siempre tiene un efecto negativo sobre la tasa de abandono, oscilando este entre el 3% y el 20 %; ii) dicho cambio de estudios puede responder a cuestiones académicas en algunos casos, pero también se apuntan cuestiones económicas por el ahorro que puede llegar a suponer; iii) aproximadamente un tercio de nuestros estudiantes abandona los estudios en IngenierÃa Informática; iv) la tasa de abandono a lo largo de los últimos 5 años se ha mantenido acorde con lo establecido en las memorias de verificación y conforme a la media nacional en la rama de conocimiento de IngenierÃa y Arquitectura; v) los sistemas de indicadores definidos por los distintos sistemas de garantÃa de calidad de los TÃtulos en ocasiones no son homogéneos, lo que dificulta realizar cualquier tipo de análisis.This paper carries out an analysis on the impact caused by the possibility of moving from one degree to another, in a School of Informatics Engineering. That analysis has been carried out by the executive board of the School, at the request of the reports issued for the renewal of the accreditation of the studies. The main conclusions are: i) changing of studies always has a negative impact on the dropout rate, ranging from 3% to 20% ; ii) those changes can be sometimes due to academic reasons, but also to economical reasons since sometimes imply economic savings; iii) approximately one third of our students drop out of their studies of Informatics Engineering; iv) our dropout rate in the last five years has been compliant with the national average in Engineering and Architecture; v) quality indicators systems for degree studies are sometimes not uniform, making difficult an appropriate analysis
- …